#ifndef __INPUTMANAGER_H__
#define __INPUTMANAGER_H__

#include "InputHandler.h"

#include <vector>
#include <string>

using namespace std;

/*
	Stores various input handlers. Each input handler has its own unique name.
	A singleton class.
*/
class InputHandler;
class InputManager
{
private:	// Attributes
	vector<InputHandler*> m_Handlers;
	vector<InputHandler*>::iterator it;

	static InputManager* inputMgr;

private:	// Functions
	InputManager();
public:
	~InputManager();
	static InputManager* getSingleton();

	bool checkIsInStore(string name);
	void ManageInputHandler(InputHandler* handler);
	InputHandler* getHandler(string name);

};

#endif 